---------- GTA IV Alice 0.3+ SMOKING MOD ----------
		
PLAYER_ID, PLAYER_CHAR = 0

function CREATE_CIG()
   local p = {}
   GET_PLAYER_CHAR(GET_PLAYER_ID(), p)
   local PLAYER_CHAR = p.a
   local hash = GET_HASH_KEY("bm_char_fag_f")
   REQUEST_MODEL(hash)
   REQUEST_ANIMS("amb@smoking_spliff")
   while (HAS_MODEL_LOADED(hash) == 0)or(HAVE_ANIMS_LOADED("amb@smoking_spliff") == 0)do Wait(100) end
   local x = {}  local y = {}  local z = {}
   GET_CHAR_COORDINATES(PLAYER_CHAR, x, y, z)
   GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(PLAYER_CHAR, 0, f(0.5), 0, x, y, z)
   local c = {}
   CREATE_OBJECT(hash, x.b, y.b, z.b, c, true)
   ATTACH_OBJECT_TO_PED(c.a, PLAYER_CHAR, 1205, f(-0.134), f(0.145), f(-0.02), f(90.0), f(0.0), f(0.0), 0)
   TASK_PLAY_ANIM(PLAYER_CHAR, "create_spliff", "amb@smoking_spliff", f(8.0), 0, 1, 1, 0, -2)
   Wait(5000)
   local d = {}
   local d = START_PTFX_ON_PED_BONE("ambient_cig_smoke", PLAYER_CHAR, f(-0.007), f(0.16), f(-0.05), f(0.0), f(0.0), f(0.0), 1205, f(1.0))
   local g = {}
   GET_CHAR_HEALTH(PLAYER_CHAR, g)
   g = g.a + 10
   SET_CHAR_HEALTH(PLAYER_CHAR, g)
   TRIGGER_PTFX_ON_PED_BONE("ped_smoke_exhale", PLAYER_CHAR, f(0.0), f(0.0), f(0.0), f(0.0), f(0.0), f(0.0), 1205, f(1.0))
   CIG_FLG = 0
   CIG_EXH = 0
   Wait(1000)
   repeat
    CIG_EXH = CIG_EXH + 1
    if (CIG_EXH > 25)then
    local g = {}
    GET_CHAR_HEALTH(PLAYER_CHAR, g)
    g = g.a + 5
    SET_CHAR_HEALTH(PLAYER_CHAR, g)
    TRIGGER_PTFX_ON_PED_BONE("ped_smoke_exhale", PLAYER_CHAR, f(0.0), f(0.0), f(0.0), f(0.0), f(0.0), f(0.0), 1205, f(1.0))
	CIG_EXH = 0
	end
	if (IS_OBJECT_ATTACHED(c.a) == 0)then
	STOP_PTFX(d)
    DELETE_OBJECT(c)
    CREATE_OBJECT(hash, x.b, y.b, z.b, c, true)
    local d = {}
    ATTACH_OBJECT_TO_PED(c.a, PLAYER_CHAR, 1205, f(-0.134), f(0.145), f(-0.02), f(90.0), f(0.0), f(0.0), 0)
    local d = START_PTFX_ON_PED_BONE("ambient_cig_smoke", PLAYER_CHAR, f(-0.007), f(0.16), f(-0.05), f(0.0), f(0.0), f(0.0), 1205, f(1.0))
    end
    if (IS_BUTTON_PRESSED(0, 4) == 1)and(IS_BUTTON_PRESSED(0, 16) == 1)or
       (IsKeyPressed(16) == 1)and(IsKeyPressed(69) == 1)then
    STOP_PTFX(d)
    DELETE_OBJECT(c)
	CIG_FLG = 1
	MARK_MODEL_AS_NO_LONGER_NEEDED(hash)end
   until (CIG_FLG > 0)
end

function cig_main()
  while true do
    if (IS_BUTTON_PRESSED(0, 4) == 1)and(IS_BUTTON_PRESSED(0, 16) == 1)or
       (IsKeyPressed(16) == 1)and(IsKeyPressed(69) == 1)then
	CREATE_CIG()
	Wait(1000)end
  end
end

-- start
cig_main();